import Vue from 'vue';
import App from './App.vue';
// 引入路由
import router from '@/router';
// 引入仓库
import store from '@/store';

// 三级联动组件--全局组件
//注册两个全局组件:Header、Footer,全局组件写法【定义一次,可以直接在任意地方使用】
//Vue.component(组件的名字,组件)
//组件:实质是VueComponent构造函数,为什么下面Header组件打印并非是VueComponent构造函数,因为Header组件暴露的
//配置项(JS),并非暴露Vue.extend()[返回VueComponent构造函数],用的是简写方式
import Header from '@/components/Header';
import Footer from '@/components/Footer';
import TypeNav from '@/components/TypeNav';
import Carsousel from '@/components/Carousel';
import Pagination from '@/components/Pagination';
// 第一个参数：全局组件的名字
// 第二个参数：哪一个组件
Vue.component(Header.name, Header);
Vue.component(Footer.name, Footer);
Vue.component(TypeNav.name,TypeNav);
Vue.component(Carsousel.name,Carsousel);
Vue.component(Pagination.name,Pagination)
// 引入MockServer.js-----mock数据
import '@/mock/mockServe';
// 引入swiper样式
import "swiper/css/swiper.css"
import{reqGetSearchInfo} from '@/api'
console.log(reqGetSearchInfo({})); 

new Vue({
  render: h => h(App),
  // 全局事件总线$bus配置
  beforeCreate(){
    Vue.prototype.$bus = this;
  },
  // 注册路由，底下的写法KV一致省略V【router小写】
  // 注册路由信息：当这里书写router的时候，组件身上都拥有$route,$router属性
  router,
  // 注册仓库：组件实例的身上会多一个属性$store属性
  store
}).$mount('#app')
